#!/bin/sh
#超级管理员的运维Shell菜单

#! /bin/bash
#
# 菜单函数
function menu()
{
cat<<EOF
 ----------------------------------------
|***************开始菜单主页***************|
|*********非主要运维人员谨慎使用！**********|
----------------------------------------
`echo -e "\033[35m 1)查看主菜单 \033[0m"`

`echo -e "\033[35m 10)查看常用端口占用  \033[0m"`

`echo -e "\033[35m 30)启动ETC项目 \033[0m"`

`echo -e "\033[35m 0)退出 \033[0m"`
EOF

}

#-------------------------------------------------------------------------------
# 查看常用端口占用 
function ReadNetstatPort()
{

    # 保存结果的变量名=`需要执行的linux命令`
    #echo `netstat -tunlp | grep -E "9000|80|8080|3306|443|22"`
    check_results=`netstat -tunlp | grep -E "9000|80|8080|3306|443|22"`
    # 打印执行命令后的内容
    echo "$check_results"
}


#-------------------------------------------------------------------------------


# 执行指定脚本的
function ETCPrjAllStart()
{
    # 保存结果的变量名=`需要执行的linux命令或脚本`
    check_results=`/root/ETCPrjShell/StarPrj.sh`
    # 打印执行命令后的内容
    echo "$check_results"
}

# 执行指定脚本的
function VersionUpdateDeployment()
{
    # 保存结果的变量名=`需要执行的linux命令或脚本`
    check_results=`/root/ETCPrjShell/VersionUpdateDeploymen.sh`
    # 打印执行命令后的内容
    echo "$check_results"
}

# 执行指定脚本的
function StopAllJava()
{
    # 保存结果的变量名=`需要执行的linux命令或脚本`
    check_results=`/root/ETCPrjShell/StopAllJava.sh`
    # 打印执行命令后的内容
    echo "$check_results"
}
#-------------------------------------------------------------------------------
# test

#-------------------------------------------------------------------------------

# 清空屏幕数据
#clear

# 执行菜单列表打印函数
menu

#进入操作选择交互，循环
while true
do

    # 获取输入的数值
    read -p "请输入您的选择:" num1
    # 这里加1，判断输入的是不是整数。
    expr $num1 + 1 &>/dev/null   
    # $?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.
    # 表示 不等于
    # 如果不等于零，代表输入不是整数。
    if [ $? -ne 0 ];then       
        echo "----------------------------"
        echo "|          警告!!!         |"
        echo "|      请输入正确选择!      |"
        echo "----------------------------"
        sleep 1
    fi
    
    # 选择项对应操作映射
    case $num1 in
        0)
         echo '正在执行相关操作...'
         echo "退出中..."
         break 
         ;;
        1)
         echo '正在执行相关操作...'
         # 打印主菜单
         menu
         echo '执行完毕！Over！'
         ;;
        10)
         echo '正在执行相关操作...'
         echo '查看常用端口占用'
         ReadNetstatPort
         echo '执行完毕！Over！'
         ;;
        11)
         echo '正在执行相关操作...'
         echo '版本更新'
	 VersionUpdateDeployment
         echo '执行完毕！Over！'
         ;;
        #-----------------------------------------------------------------------
        30)
         echo '正在执行相关操作...'
         echo '启动ETC项目'
         ETCPrjAllStar
         echo '执行完毕！Over！'
         ;;
        31)
         echo '正在执行相关操作...'
         echo '关闭ETC项目'
         EStopAllJava
         echo '执行完毕！Over！'
         ;;
        #-----------------------------------------------------------------------
        *)
         echo -e "\033[31m 无此命令映射，请重新选择！ \033[0m"
         ;;
    esac
done

echo '执行完毕！The End.'

